<?php defined('SYSPATH') OR die('No direct access allowed.');

class Banco {

	public static $server	= 'localhost'; //desenvolvimento
	public static $user	= 'root';
	public static $password = '';


	public static $banco	= 'vacinacao';
	public static $conexao;

	public static function connect() {
		set_time_limit(0);

		self::$conexao = mysql_connect(self::$server, self::$user, self::$password)
			or exit('Não foi possível a conexão com o servidor');

		mysql_select_db(self::$banco, self::$conexao)
			or exit('Não foi possível selecionar o banco de dados: "' . self::$banco . '"');
	}
        
        public static function connectMySqli() {
            set_time_limit(0);
            
            self::$conexao = mysqli_connect(self::$server, self::$user, self::$password, self::$banco)
                        or exit('Não foi possível a conexão com o servidor');
        }

	public static function disconnect() {
		mysql_close(self::$conexao);
	}

	private static function retornarArrayResultFetchAssoc($result) {
		$arrResult = Array();
		while( $linha = mysql_fetch_assoc($result) ) {
			foreach ($linha as $key => $value) {
				$linha[$key] = LibAux::retornarStrUTF8($value);
			}
			$arrResult[] =  $linha;
		}
		self::disconnect();
		return $arrResult;
	}

	public static function executar($sql, $omitirErro = false) {
		self::connect();
                
		$sql = LibAux::retornarStrISO88591($sql);
                
		if ( $omitirErro ) {
			$return = @mysql_query($sql);
		} else {
			$return = mysql_query($sql);

		}

		return $return;
//		$db = new Database;
//		$query = $db->query($sql);
//		return $query->result_array(FALSE);
	}
        
        public static function executarMultiQueries($sql){
            self::connectMySqli();
            
            $sql = LibAux::retornarStrISO88591($sql);
            $return = mysqli_multi_query(self::$conexao, $sql);
            
            return $return;
        }

        public static function executarConsulta($sql, $connect = true) {
		if ( $connect ) {
                    self::connect();
		}
		$result = mysql_query($sql);
		return self::retornarArrayResultFetchAssoc($result);
	}

	public static function executarProcedure($stmt) {
		$result = mssql_execute($stmt);
		mssql_free_statement($stmt);
		return self::retornarArrayResultFetchAssoc($result);
	}

}
